Ollama es la forma más directa de ejecutar modelos de lenguaje grandes en un Mac con Apple Silicon. Un único comando basta para tener Llama 3.1 8B o Mistral 7B respondiendo dentro de tu portátil, sin cuentas, sin claves de API y sin que una palabra de tu conversación salga del disco. Esta guía cubre la instalación desde cero, la elección de modelo en función de la RAM y la integración con las aplicaciones que ya usas.
Por qué Ollama funciona tan bien en un Mac
La ventaja del Apple Silicon frente a un PC tradicional no es anecdótica, es arquitectónica. Los chips M1, M2 y M3 comparten memoria entre CPU y GPU en lugar de tenerla separada como ocurre en un equipo con tarjeta gráfica dedicada. Esa memoria unificada significa que un Llama 3.1 de ocho mil millones de parámetros no tiene que copiarse por el bus PCIe para que la GPU lo procese: los mismos bytes son visibles para ambos y la inferencia se acelera sin peajes de transferencia. A ello se suma Metal, la capa gráfica de Apple, sobre la que llama.cpp (el motor que Ollama usa por debajo) tiene un backend muy pulido desde 2023.
El resultado práctico es que un MacBook Air M2 silencioso, sin ventilador, puede servir un modelo de siete u ocho mil millones de parámetros a velocidades perfectamente usables, mientras el consumo apenas supera el de un navegador con varias pestañas. No es magia: el ancho de banda de memoria de estos chips (100 GB/s en los modelos base, hasta 800 GB/s en un M2 Ultra) es precisamente el cuello de botella que domina la inferencia de un LLM cuantizado.
Comparación rápida con LM Studio
La alternativa más común en Mac es LM Studio, una aplicación con interfaz gráfica completa, exploración de modelos integrada y chat visual. La diferencia no es de calidad del motor (ambos usan llama.cpp) sino de filosofía: LM Studio está pensado para quien quiere una experiencia tipo ChatGPT local sin tocar terminal; Ollama está diseñado como servicio de fondo que expone una API al que otras herramientas se conectan. Si vas a integrar el modelo con VS Code, con scripts y con un asistente de notas a la vez, Ollama gana porque todos hablan con el mismo endpoint en localhost:11434 sin configuraciones duplicadas.
Instalación
Hay dos caminos que acaban en el mismo servicio. El instalador gráfico se descarga desde la web oficial, se arrastra a Aplicaciones y en la primera ejecución pide permiso para lanzarse como servicio de fondo. La alternativa limpia para perfiles técnicos es Homebrew: brew install ollama seguido de brew services start ollama deja el daemon escuchando. ollama --version confirma la instalación y curl http://localhost:11434 debe devolver “Ollama is running”. A partir de ahí, el daemon escucha en el puerto 11434 y cualquier comando ollama hablará con él.
Elegir modelo según la RAM
La regla es simple: un modelo cuantizado a 4 bits ocupa aproximadamente la mitad de gigas que miles de millones de parámetros tiene, y necesitas 2-4 GB libres para el sistema y la aplicación que estés usando. Con esa cuenta, un MacBook Air M1 o M2 de 8 GB se queda cómodo con Phi-3 mini (2,3 GB) o Gemma 2B, útiles para reescritura, resumen o traducción pero insuficientes para razonamiento complejo. Los 16 GB del MacBook Pro M2 Pro o del Air M3 abren la puerta al mejor compromiso general del momento: Llama 3.1 8B instruct en cuantización Q4_K_M, que ocupa unos 4,7 GB y deja margen para el resto de tu workflow; Mistral 7B instruct y Code Llama 7B juegan en la misma liga.
Con 32 GB, típicos de un MacBook Pro Max, entra en escena Llama 3.1 70B cuantizado, que ronda los 40 GB y ofrece una calidad cercana a los modelos frontera cerrados, aunque con latencia mayor. Mixtral 8x7B (26 GB) es una alternativa fuerte en multilingüe. Con 64 GB o más (M3 Max tope de gama, Mac Studio con M2 Ultra) el 405B cuantizado solo es realista en el M2 Ultra con 192 GB y a una velocidad pensada más para curiosidad que para producción.
Uso interactivo y API local
El flujo habitual es doble. El modo conversacional se invoca con ollama run llama3.1:8b y abre un prompt >>> donde escribes directamente, con comandos internos como /set parameter temperature 0.7, /set parameter num_ctx 8192 para ampliar la ventana de contexto, /show info y /bye para salir. ollama pull, ollama list y ollama rm gestionan los modelos descargados en ~/.ollama/models/.
La parte más interesante es la API HTTP expuesta en localhost:11434. Hay dos endpoints: el propio (/api/generate, /api/chat) y uno compatible con OpenAI en /v1/chat/completions. Este último hace que cualquier cliente pensado para GPT funcione apuntándolo al Mac sin tocar el código:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="not-needed",
)
response = client.chat.completions.create(
model="llama3.1:8b",
messages=[{"role": "user", "content": "Explícame RAG en tres frases."}],
)
print(response.choices[0].message.content)
El mismo patrón sirve desde Node, desde una extensión de VS Code o desde cualquier utilería que hables antes con OpenAI.
Modelfiles, integraciones y operación
Cuando repites el mismo prompt de sistema en varios proyectos, conviene fijarlo en un Modelfile: un archivo que parte de un modelo base con FROM llama3.1:8b, añade parámetros con PARAMETER temperature 0.7 y fija el system prompt con SYSTEM "Eres un asistente técnico en español, conciso y directo.". Se construye con ollama create my-assistant -f Modelfile y se invoca como cualquier otro modelo. Es el equivalente local a un “GPT personalizado”.
Sobre el ecosistema, merece la pena conocer OpenWebUI (interfaz web tipo ChatGPT que se conecta al Ollama local), Continue para asistencia de código en VS Code, Aider en el terminal, Raycast para consultas rápidas desde la barra de menús y el plugin Copilot de Obsidian para razonar sobre tus notas. Todos hablan con el mismo servicio.
En operación, Ollama consume unos 100 MB de RAM en reposo, escucha solo en localhost por defecto (exponible a la LAN con OLLAMA_HOST=0.0.0.0) y se detiene con brew services stop ollama. Rendimientos típicos: un M1 base con Phi-3 ronda los 30 tokens por segundo, un M2 Pro con Llama 3.1 8B se mueve entre 40 y 50, y un M3 Max con el 70B cuantizado baja a unos 15, perfectamente conversacional.
Conclusión
Que un portátil sin tarjeta gráfica dedicada pueda ejecutar modelos equivalentes al GPT-3.5 del año pasado con total privacidad, sin conexión y con una API familiar, sigue siendo una de las cosas más sorprendentes de 2024. Ollama no es la solución para producción seria (ahí viven vLLM o TGI, pensados para concurrencia y throughput), pero sí es la mejor puerta de entrada al desarrollo y al uso personal. Para abogados, médicos, periodistas o cualquier profesional que maneje documentos sensibles, la garantía de que nada se envía a un tercero deja de ser una promesa para convertirse en una propiedad verificable del sistema. Para el resto, sigue siendo la forma más barata de recuperar el control sobre qué modelo usa tu máquina y qué datos le entregas.